package com.whmskj.xjlhsc.mobie.personnelFile.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.time.LocalDateTime;
import java.util.List;

@Data
public class LeaveApplicationListDTO {

    // 请假单ID
    private Integer id;
    @Schema(description = "员工ID")
    private Integer employeeId;
    @Schema(description = "员工姓名")
    private String employeeName;
    @Schema(description = "员工工号")
    private String employeeCode;
    @Schema(description = "员工姓名加工号显示名称")
    private String employeeDisplay; // 姓名(工号) 或 姓名
    @Schema(description = "员工部门")
    private String employeeDept;
    private String positions;       // 岗位
    private String typeOfWork;      // 工种
    @Schema(description = "请假类型")
    private String leaveType;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime startTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endTime;
    @Schema(description = "请假天数")
    private Integer leaveDays;
    @Schema(description = "请假图片")
    private List<String> proofImages;
    @Schema(description = "请假事由")
    private String reason;
    @Schema(description = "请假单状态")
    private String status;
    @Schema(description = "当前审批人ID")
    private Integer currentApproverId;
    @Schema(description = "当前审批人名称")
    private String currentApproverName;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Schema(description = "审核时间")
    private LocalDateTime applicationTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Schema(description = "创建时间")
    private LocalDateTime createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    // 列表进度：已同意节点数量（0~4）
    private Integer progress;
}


